package com.kh.samr.entity.plan_project;

import com.kh.samr.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 项目团队成员信息
 *
 * @author Harry
 * @date 2020/12/29
 */
@ApiModel(description = "项目团队成员信息")
@Table(name = "pp_member")
@EqualsAndHashCode(callSuper = true)
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Member extends BaseEntity {

	private static final long serialVersionUID = 2699359489511692292L;

	/**
	 * 人员信息标准唯一标识
	 */
	@ApiModelProperty(value = "人员信息标准唯一标识", readOnly = true)
	@Column(length = 36)
	private String memberStandardId;

	/**
	 * 真实姓名
	 */
	@ApiModelProperty(value = "真实姓名", readOnly = true)
	@Column(length = 100, nullable = false)
	private String fullName;

	/**
	 * 证件类型
	 */
	@ApiModelProperty(value = "证件类型", readOnly = true)
	@Column(length = 4, nullable = false)
	private String idType;

	/**
	 * 证件号码
	 */
	@ApiModelProperty(value = "证件号码", readOnly = true)
	@Column(length = 20, nullable = false)
	private String idNumber;
	
	/**
	 * 年龄
	 */
	@ApiModelProperty(value = "年龄", readOnly = true)
	@Column(nullable = false)
	private int age;

	/**
	 * 性别
	 */
	@ApiModelProperty(value = "证件号码", readOnly = true)
	@Column(length = 10, nullable = false)
	private String gender;

	/**
	 * 最终学历
	 */
	@ApiModelProperty(value = "最终学历", readOnly = true)
	@Column(length = 10)
	private String education;

	/**
	 * 最终学位
	 */
	@ApiModelProperty(value = "最终学位", readOnly = true)
	@Column(length = 10)
	private String degree;
	
	/**
	 * 是否留学归国
	 */
	@ApiModelProperty(value = "是否留学归国", readOnly = true)
	private boolean studyingAbroadReturned;
	
	/**
	 * 单位名称
	 */
	@ApiModelProperty(value = "单位名称", readOnly = true)
	@Column(length = 50)
	private String companyName;
	
	/**
	 * 职称级别
	 */
	@ApiModelProperty(value = "职称级别", readOnly = true)
	@Column(length = 50)
	private String titleLevel;
	
	/**
	 * 在项目中的身份
	 */
	@ApiModelProperty(value = "在项目中的身份", readOnly = true)
	@Column(length = 50)
	private String identityInProject;
	
	/**
	 * 位次(项目参与人员的位次)
	 */
	@ApiModelProperty(value = "位次(项目参与人员的位次)", readOnly = true)
	private int rank;
}
